package com.dfec.water.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dfec.framework.mybatis.core.dataobject.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import javax.validation.constraints.NotNull;
import com.alibaba.excel.annotation.ExcelProperty;
import java.math.BigDecimal;

/**
 * 预测信息对象 ydb_forecast
 *
 * @author df
 * @date Thu Jan 23 10:24:59 CST 2025
 */
@Data
@TableName("ydb_forecast")
public class YdbForecastEntity  {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    @ExcelProperty("主键")
    private Long id;


    /**
     * 名称
     */
    @Schema(description = "名称")
    @NotNull(message = "名称")
    @ExcelProperty("名称")
    private String name;


    /**
     * 描述信息
     */
    @Schema(description = "描述信息")
    @ExcelProperty("描述信息")
    private String forecastDesc;


    /**
     * 描述区域信息
     */
    @Schema(description = "描述区域信息")
    @ExcelProperty("描述区域信息")
    private String forecastJson;


    /**
     * 项目占地面积
     */
    @Schema(description = "项目占地面积")
    @ExcelProperty("项目占地面积")
    private Long forecastAreaSize;


    /**
     * 边界文件地址
     */
    @Schema(description = "边界文件地址")
    @ExcelProperty("边界文件地址")
    private String boundaryUrl;


    /**
     * 边界文件名称
     */
    @Schema(description = "边界文件名称")
    @ExcelProperty("边界文件名称")
    private String boundaryName;


    /**
     * 绘制文件信息
     */
    @Schema(description = "绘制文件信息")
    @ExcelProperty("绘制文件信息")
    private String drawJson;


    /**
     * 最大维度
     */
    @Schema(description = "最大维度")
    @ExcelProperty("最大维度")
    private String maxlat;


    /**
     * 最大经度
     */
    @Schema(description = "最大经度")
    @ExcelProperty("最大经度")
    private String maxlng;


    /**
     * 最小维度
     */
    @Schema(description = "最小维度")
    @ExcelProperty("最小维度")
    private String minlat;


    /**
     * 最小经度
     */
    @Schema(description = "最小经度")
    @ExcelProperty("最小经度")
    private String minlng;


    /**
     * 中心点维度
     */
    @Schema(description = "中心点维度")
    @ExcelProperty("中心点维度")
    private String lat;

    /**
     * 中心点经度
     */
    @Schema(description = "中心点经度")
    @ExcelProperty("中心点经度")
    private String lng;

    @TableField(exist = false)
    private String type;


    @TableField(exist = false)
    private YdbForecastListEntity children;


}
